package com.penghaisoft.microwms.product.dao;

import com.penghaisoft.microwms.common.mapper.BaseMapper;
import com.penghaisoft.microwms.common.page.Pager;
import com.penghaisoft.microwms.common.wms.model.ProOrderInSn;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description 成品下线入库明细表
 * @author luoteng
 * @date 2018年6月6日 下午2:31:23
 * @version 1.0
 */
public interface ProOrderInSnMapper extends BaseMapper<ProOrderInSn> {
	/**
	 * @Title queryModelCount
	 * @Description 查询mes给的型号
	 * @author luoteng
	 * @date 2018年6月13日:下午1:16:06
	 * @param t
	 * @return Long
	 */
	public Long queryModelCount(@Param("entity") ProOrderInSn t);

	/**
	 * @Title queryModelList
	 * @Description 查询mes给的型号
	 * @author luoteng
	 * @date 2018年6月13日:下午1:15:46
	 * @param page
	 * @param t
	 * @return List<ProOrderInSn>
	 */
	public List<ProOrderInSn> queryModelList(
			@Param("page") Pager<ProOrderInSn> page,
			@Param("entity") ProOrderInSn t);
	
	/** 
	 * @Title queryByBarCode
	 * @Description 根据条码查询列表
	 * @author luoteng
	 * @date 2018年6月20日:下午1:16:02
	 * @param t
	 * @return List<ProOrderInSn>
	 */
	public List<ProOrderInSn> queryByBarCode(@Param("entity") ProOrderInSn t);
	
	/** 
	* @Title: updateByBarcode 
	* @Description: 根据条码修改 
	* @author yanggm 
	* @date 2018年9月18日 下午3:30:47 
	* @throws 
	*/
	public Integer updateByBarcode(@Param("entity") ProOrderInSn proOrderInSn);

	/**
	 * 入库数据汇总合计
	 * @param proOrderInSn
	 * @return
     */
	List<ProOrderInSn> findSummaryList(@Param("page") Pager<ProOrderInSn> page,@Param("entity") ProOrderInSn proOrderInSn);

	public Long querySummaryCount(@Param("entity") ProOrderInSn t);

	public long queryProductionCount(@Param("entity") ProOrderInSn proOrderInSn);
	
	public List<ProOrderInSn> findProductionList(@Param("page") Pager<ProOrderInSn> pager,@Param("entity") ProOrderInSn proOrderInSn);

	public ProOrderInSn queryProductionTotal(@Param("entity") ProOrderInSn proOrderInSn);

	public ProOrderInSn querySummaryTotal(@Param("entity") ProOrderInSn condition);
}